package com.doubao.hardware.service;

/**
 * 设备-智能体关联服务接口
 * 负责处理硬件设备与智能体之间的交互
 */
public interface DeviceHardwareService {

    /**
     * 配置设备的智能体
     *
     * @param macAddress 设备MAC地址
     * @param smartDeviceId 智能体ID
     * @return 配置是否成功
     */
    boolean configureDeviceAI(String macAddress, Long smartDeviceId);

    /**
     * 配置设备的智能体（带强制更新选项）
     *
     * @param macAddress 设备MAC地址
     * @param smartDeviceId 智能体ID
     * @param forceUpdate 是否强制更新
     * @return 配置是否成功
     */
    boolean configureDeviceAI(String macAddress, Long smartDeviceId, boolean forceUpdate);

    /**
     * 清除设备的智能体配置
     *
     * @param macAddress 设备MAC地址
     * @return 清除是否成功
     */
    boolean clearDeviceAI(String macAddress);

    /**
     * 获取设备当前配置的智能体ID
     *
     * @param macAddress 设备MAC地址
     * @return 智能体ID，如果未配置则返回null
     */
    Long getCurrentSmartDeviceId(String macAddress);

    /**
     * 清除设备配置缓存，用于强制配置更新
     *
     * @param macAddress 设备MAC地址
     */
    void clearDeviceCache(String macAddress);
}